As the microprocessor in accordance with SPARC architecture, there are microprocessor systems using a register window structure. In these programs (using a procedure call many times) used in such systems, many windows are used.
Accordingly, in the case where the number of windows on the microprocessor chip is low, overhead by the overflow/underflow trap processing of the window becomes a great problem. In the SPARC architecture, 16 registers having a length of 32 bits are required in order to add one window. However, since the number of windows on the chip is restricted by the area occupied by the hardware, it is impossible to actually increase the number of windows. In this connection, in the SPARC, it is prescribed that the number of windows is six at the minimum and is 32 at the maximum.
Since the microprocessor of the background art is constructed as described above, the number of registers allotted or allocated to one window is fixed (hereinafter this will be called a fixing system). However, there are many instances where the number of registers actually used in the individual procedure calls is less than the number of allocation. The fact that the number of allocation is fixed is very redundant. For this reason, there cannot be employed, e.g., such a method for effectively utilizing the register to allot a register which is not used in a current window to another window with a present window thus to increase the number of windows.
As a technique to solve such a problem, a variable system, such that the number of registers allotted to one window is variable, is known.